package io.github.siltal.examsystembackend.service;

import io.github.siltal.examsystembackend.dto.*;
import io.github.siltal.examsystembackend.entity.User;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Optional;

@Service
public interface UserService {

    RegisterResponse createUser(RegisterRequest registerRequest);

    List<User> getAllUsers();

    Optional<User> getUserById(Long id);

    Optional<User> updateUser(Long id, User userDetails);

    boolean deleteUser(Long id);

    LoginResponse login(LoginRequest loginRequest);

    PasswordChangeResponse passwordChange(PasswordChangeRequest passwordChangeRequest);

    EmailChangeResponse emailChange(EmailChangeRequest emailChangeRequest);
}